home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
IRIX Base Documentation 1998 November
/
IRIX 6.5.2 Base Documentation November 1998.img
/
usr
/
share
/
catman
/
p_man
/
cat3
/
libblas
/
syr2.z
/
syr2
Wrap
Text File
|
1998-10-30
|
15KB
|
265 lines
____SSSSYYYYRRRR2222,,,,____HHHHEEEERRRR2222((((3333FFFF)))) ____SSSSYYYYRRRR2222,,,,____HHHHEEEERRRR2222((((3333FFFF))))
NNNNAAAAMMMMEEEE
dsyr2, ssyr2, zher2, cher2 - BLAS Level Two
(Symmetric/Hermitian)Matrix Rank 2 Update
FFFFOOOORRRRTTTTRRRRAAAANNNN 77777777 SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ddddssssyyyyrrrr2222(((( uuuupppplllloooo,,,, nnnn,,,, aaaallllpppphhhhaaaa,,,, xxxx,,,, iiiinnnnccccxxxx,,,, yyyy,,,, iiiinnnnccccyyyy,,,, aaaa,,,, llllddddaaaa ))))
cccchhhhaaaarrrraaaacccctttteeeerrrr****1111 uuuupppplllloooo
iiiinnnntttteeeeggggeeeerrrr nnnn,,,, iiiinnnnccccxxxx,,,, iiiinnnnccccyyyy,,,, llllddddaaaa
ddddoooouuuubbbblllleeee pppprrrreeeecccciiiissssiiiioooonnnn aaaallllpppphhhhaaaa
ddddoooouuuubbbblllleeee pppprrrreeeecccciiiissssiiiioooonnnn aaaa(((( llllddddaaaa,,,,****)))),,,, xxxx((((****)))),,,, yyyy((((****))))
ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ssssssssyyyyrrrr2222(((( uuuupppplllloooo,,,, nnnn,,,, aaaallllpppphhhhaaaa,,,, xxxx,,,, iiiinnnnccccxxxx,,,, yyyy,,,, iiiinnnnccccyyyy,,,, aaaa,,,, llllddddaaaa))))
cccchhhhaaaarrrraaaacccctttteeeerrrr****1111 uuuupppplllloooo
iiiinnnntttteeeeggggeeeerrrr nnnn,,,, iiiinnnnccccxxxx,,,, iiiinnnnccccyyyy,,,, llllddddaaaa
rrrreeeeaaaallll aaaallllpppphhhhaaaa
rrrreeeeaaaallll aaaa(((( llllddddaaaa,,,,****)))),,,, xxxx((((****)))),,,, yyyy((((****))))
ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee zzzzhhhheeeerrrr2222(((( uuuupppplllloooo,,,, nnnn,,,, aaaallllpppphhhhaaaa,,,, xxxx,,,, iiiinnnnccccxxxx,,,, yyyy,,,, iiiinnnnccccyyyy,,,, aaaa,,,, llllddddaaaa))))
cccchhhhaaaarrrraaaacccctttteeeerrrr****1111 uuuupppplllloooo
iiiinnnntttteeeeggggeeeerrrr nnnn,,,, iiiinnnnccccxxxx,,,, iiiinnnnccccyyyy,,,, llllddddaaaa
ccccoooommmmpppplllleeeexxxx****11116666 aaaallllpppphhhhaaaa
ccccoooommmmpppplllleeeexxxx****11116666 aaaa(((( llllddddaaaa,,,,****)))),,,, xxxx((((****)))),,,, yyyy((((****))))
ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee cccchhhheeeerrrr2222(((( uuuupppplllloooo,,,, nnnn,,,, aaaallllpppphhhhaaaa,,,, xxxx,,,, iiiinnnnccccxxxx,,,, yyyy,,,, iiiinnnnccccyyyy,,,, aaaa,,,, llllddddaaaa))))
cccchhhhaaaarrrraaaacccctttteeeerrrr****1111 uuuupppplllloooo
iiiinnnntttteeeeggggeeeerrrr nnnn,,,, iiiinnnnccccxxxx,,,, iiiinnnnccccyyyy,,,, llllddddaaaa
ccccoooommmmpppplllleeeexxxx aaaallllpppphhhhaaaa
ccccoooommmmpppplllleeeexxxx aaaa(((( llllddddaaaa,,,,****)))),,,, xxxx((((****)))),,,, yyyy((((****))))
CCCC SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
vvvvooooiiiidddd ddddssssyyyyrrrr2222(((( uuuupppplllloooo,,,, nnnn,,,, aaaallllpppphhhhaaaa,,,, xxxx,,,, iiiinnnnccccxxxx,,,, yyyy,,,, iiiinnnnccccyyyy,,,, aaaa,,,, llllddddaaaa ))))
MMMMaaaattttrrrriiiixxxxTTTTrrrriiiiaaaannnngggglllleeee uuuupppplllloooo;;;;
IIIInnnntttteeeeggggeeeerrrr nnnn,,,, iiiinnnnccccxxxx,,,, iiiinnnnccccyyyy,,,, llllddddaaaa;;;;
ddddoooouuuubbbblllleeee aaaallllpppphhhhaaaa
ddddoooouuuubbbblllleeee ((((****aaaa))))[[[[llllddddaaaa****nnnn]]]],,,, ((((****xxxx))))[[[[ nnnn ]]]],,,, ((((****yyyy))))[[[[ nnnn ]]]];;;;
vvvvooooiiiidddd ssssssssyyyyrrrr2222(((( uuuupppplllloooo,,,, nnnn,,,, aaaallllpppphhhhaaaa,,,, xxxx,,,, iiiinnnnccccxxxx,,,, yyyy,,,, iiiinnnnccccyyyy,,,, aaaa,,,, llllddddaaaa ))))
MMMMaaaattttrrrriiiixxxxTTTTrrrriiiiaaaannnngggglllleeee uuuupppplllloooo;;;;
IIIInnnntttteeeeggggeeeerrrr nnnn,,,, iiiinnnnccccxxxx,,,, iiiinnnnccccyyyy,,,, llllddddaaaa;;;;
ffffllllooooaaaatttt aaaallllpppphhhhaaaa
ffffllllooooaaaatttt ((((****aaaa))))[[[[llllddddaaaa****nnnn]]]],,,, ((((****xxxx))))[[[[ nnnn ]]]],,,, ((((****yyyy))))[[[[ nnnn ]]]];;;;
vvvvooooiiiidddd zzzzhhhheeeerrrr2222(((( uuuupppplllloooo,,,, nnnn,,,, aaaallllpppphhhhaaaa,,,, xxxx,,,, iiiinnnnccccxxxx,,,, yyyy,,,, iiiinnnnccccyyyy,,,, aaaa,,,, llllddddaaaa ))))
MMMMaaaattttrrrriiiixxxxTTTTrrrriiiiaaaannnngggglllleeee uuuupppplllloooo;;;;
IIIInnnntttteeeeggggeeeerrrr nnnn,,,, iiiinnnnccccxxxx,,,, iiiinnnnccccyyyy,,,, llllddddaaaa;;;;
ZZZZoooommmmpppplllleeeexxxx aaaallllpppphhhhaaaa
ZZZZoooommmmpppplllleeeexxxx ((((****aaaa))))[[[[llllddddaaaa****nnnn]]]],,,, ((((****xxxx))))[[[[ nnnn ]]]],,,, ((((****yyyy))))[[[[ nnnn ]]]];;;;
vvvvooooiiiidddd cccchhhheeeerrrr2222(((( uuuupppplllloooo,,,, nnnn,,,, aaaallllpppphhhhaaaa,,,, xxxx,,,, iiiinnnnccccxxxx,,,, yyyy,,,, iiiinnnnccccyyyy,,,, aaaa,,,, llllddddaaaa ))))
PPPPaaaaggggeeee 1111
____SSSSYYYYRRRR2222,,,,____HHHHEEEERRRR2222((((3333FFFF)))) ____SSSSYYYYRRRR2222,,,,____HHHHEEEERRRR2222((((3333FFFF))))
MMMMaaaattttrrrriiiixxxxTTTTrrrriiiiaaaannnngggglllleeee uuuupppplllloooo;;;;
IIIInnnntttteeeeggggeeeerrrr nnnn,,,, iiiinnnnccccxxxx,,,, iiiinnnnccccyyyy,,,, llllddddaaaa;;;;
CCCCoooommmmpppplllleeeexxxx aaaallllpppphhhhaaaa
CCCCoooommmmpppplllleeeexxxx ((((****aaaa))))[[[[llllddddaaaa****nnnn]]]],,,, ((((****xxxx))))[[[[ nnnn ]]]],,,, ((((****yyyy))))[[[[ nnnn ]]]];;;;
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
ddddssssyyyyrrrr2222 and ssssssssyyyyrrrr2222 perform the symmetric rank 2 operation
A := alpha*x*y' + alpha*y*x' + A,
zzzzhhhheeeerrrr2222 and cccchhhheeeerrrr2222 perform the hermitian rank 2 operation
A := alpha*x*conjg( y' ) + conjg( alpha )*y*conjg( x' ) + A,
where alpha is a scalar, x and y are n element vectors and A is an n by n
symmetric/hermitian matrix.
PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
uuuupppplllloooo On entry, uuuupppplllloooo specifies whether the upper or lower triangular
part of the array A is to be referenced a follows:
FFFFOOOORRRRTTTTRRRRAAAANNNN
uplo = 'U' or 'u' Only the upper triangular part of A
is to be referenced.
uplo = 'L' or 'l' Only the lower triangular part of A
is to be referenced.
CCCC
uplo = UpperTriangle Only the lower triangular part of A
is to be referenced.
uplo = LowerTriangle Only the lower triangular part of A
is to be referenced.
Unchanged on exit.
nnnn On entry, nnnn specifies the the order of the matrix A. nnnn must be
at least zero.
Unchanged on exit.
aaaallllpppphhhhaaaa specifies the scalar alpha.
Unchanged on exit.
xxxx Array of size at least ( 1 + ( n - 1 )*abs( incx ) ). Before
entry, the incremented array xxxx must contain the n element vector
x.
Unchanged on exit.
PPPPaaaaggggeeee 2222
____SSSSYYYYRRRR2222,,,,____HHHHEEEERRRR2222((((3333FFFF)))) ____SSSSYYYYRRRR2222,,,,____HHHHEEEERRRR2222((((3333FFFF))))
iiiinnnnccccxxxx On entry, iiiinnnnccccxxxx specifies the increment for the elements of xxxx.
iiiinnnnccccxxxx must not be zero.
Unchanged on exit.
yyyy Array of size at least ( 1 + ( n - 1 )*abs( incy ) ). Before
entry, the incremented array yyyy must contain the n element vector
y. On exit, Y is overwritten by the updated vector y.
iiiinnnnccccyyyy On entry, iiiinnnnccccyyyy specifies the increment for the elements of yyyy.
iiiinnnnccccyyyy must not be zero.
Unchanged on exit.
aaaa An array containing the matrix A.
FFFFOOOORRRRTTTTRRRRAAAANNNN
Array of dimension ( lda, n ).
CCCC
A pointer to an array of size lda*n.
See note below about array storage convention for C.
Before entry with uuuupppplllloooo ==== ''''UUUU'''' oooorrrr ''''uuuu'''' oooorrrr , the array elements
corresponding to the leading n by n upper triangular part of the
matrix A must contain the uppertriangular part of the
symmetric/hermitian matrix and the corresponding strictly lower
triangular part of A is not referenced. On exit, the array
elements corresponding to the upper triangular part of the matrix
A is overwritten by the upper triangular part of the updated
matrix.
Before entry with uuuupppplllloooo ==== ''''LLLL'''' oooorrrr ''''llll'''' oooorrrr , the array elements
corresponding to the leading n by n lower triangular part of the
matrix A must contain the lower triangular part of the
symmetric/hermitian matrix and the corresponding strictly upper
triangular part of A is not referenced. On exit, the array
elements corresponding to the lower triangular part of the matrix
A is overwritten by the lower triangular part of the updated
matrix.
Note that the imaginary parts of the diagonal elements need not
be set and are assumed to be zero.
llllddddaaaa On entry, llllddddaaaa specifies the first dimension of A as declared in
the calling (sub) program. llllddddaaaa must be at least ( k + 1 ).
Unchanged on exit.
CCCC AAAARRRRRRRRAAAAYYYY SSSSTTTTOOOORRRRAAAAGGGGEEEE CCCCOOOONNNNVVVVEEEENNNNTTTTIIIIOOOONNNN
The matrices are assumed to be stored in a oooonnnneeee ddddiiiimmmmeeeennnnssssiiiioooonnnnaaaallll CCCC aaaarrrrrrrraaaayyyy
in an analogous fashion as a Fortran array (column major). Therefore,
the element A(i+1,j) of matrix A is stored immediately after the
element A(i,j), while A(i,j+1) is lda elements apart from A(i,j).
PPPPaaaaggggeeee 3333
____SSSSYYYYRRRR2222,,,,____HHHHEEEERRRR2222((((3333FFFF)))) ____SSSSYYYYRRRR2222,,,,____HHHHEEEERRRR2222((((3333FFFF))))
The element A(i,j) of the matrix can be accessed directly by reference
to a[ (j-1)*lda + (i-1) ].
AAAAUUUUTTTTHHHHOOOORRRRSSSS
Jack Dongarra, Argonne National Laboratory.
Iain Duff, AERE Harwell.
Jeremy Du Croz, Numerical Algorithms Group Ltd.
Sven Hammarling, Numerical Algorithms Group Ltd.
PPPPaaaaggggeeee 4444